import Vue from 'vue'
import Router from 'vue-router'
import login from '@/router/modules/login' // 首页
import dashboard from '@/router/modules/dashboard' // 首页
import Approval from '@/router/modules/Approval' // 审批管理
import attendance from '@/router/modules/attendance' // 考勤管理
import department from '@/router/modules/department' // 组织架构
import employee from '@/router/modules/employee' // 员工管理
import permission from '@/router/modules/permission' // 权限管理
import role from '@/router/modules/role' // 角色管理
import salary from '@/router/modules/salary' // 工资管理
import social from '@/router/modules/social' // 社保管理

Vue.use(Router)

export const constantRoutes = [
  // 404
  {
    path: '/404',
    component: () => import('@/views/404'),
    hidden: true
  },
  login, // 注册页
  dashboard, // 首页

  // 重定向
  { path: '*', redirect: '/404', hidden: true }
]

export const asyncRoutes = [
  department, // 组织架构
  role, // 角色管理
  employee, // 员工管理
  permission, // 权限管理
  attendance, // 考勤管理
  Approval, // 审批管理
  salary, // 工资管理
  social // 社保管理
]

const createRouter = () => new Router({
  // mode: 'history', // require service support
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

const router = createRouter()

export function resetRouter() {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher
}

export default router
